3rd party storageみたいなの欲しい
説明改めて書いてみたsta.icon
ローカルのindex.htmlからでもkey-valueへのset/getができる
まだ存在しないかしら
CORS?とかできないといけなくて技術的に無理なのかもしれない説 簡易的なDaaSみたいなものでしょうか?takker.icon 正直、DaaSとの違いが分からなかった
どちらも知らないので可否はわかりませんが、できそうなにおいがします
たとえば
sta.iconがGASでTodoアプリXをつくって、「Xの保存先はあなたが用意してください」「適当にGSSつくって、そのurl(?)をXのここの設定に入れてください」
このイメージ
適当に作るのは簡単ですtakker.icon
認証周りをちゃんとやろうとすると難しいですが
Spread SheetをDaaS管理者が勝手に書き換えられないようにしないといけない
もちろん生データをsheetに直接書き込むのもまずいので、暗号化して保存する必要がある
あ、Google Driveを使うのもありか
適当なCloud Storageをuserに選択させて、中のデータ構造とかは全部アプリがやる
ただそれだともちろん開発が複雑になるtakker.icon
CRUDから作る必要がある
↑ これですsta.icon*2
この「適当なCloud Storage」として、なんか上手い感じ(語彙力)のやつが欲しかった
CRUDをLocal Storage並に簡単にした、Cloud Storage wrapperみたいなのが近いかなtakker.icon
開発者は使用するCloud StorageのAPI keyさえ用意すれば、そのまま即使えるようになる
ですねsta.icon
Data As A Serviceだとしたら、yesかもしれません(知らなかった)sta.icon
ちょっと調べてみるか
ビッグデータのようなでかいデータを扱うニュアンスが強そう
イメージ図
https://gyazo.com/728167d58ee320422123e7ea04764c9b
todo.html(TODOアプリ)もdiary.html(日記アプリ)も、ローカルに置いてるjs入りhtmlファイル
これらのhtmlは、Xというクラウドサービス上(右側の四角)にデータを保存するようにつくってある
Aさんがこれらのアプリを使うには
Xのアカウントをつくる
X上でtodo.html用のストアと、diary.htmlのストアを新規する(この時アプリキーが発行される)
todo.htmlやdiary.htmlに、Xのアカウント情報やらアプリキーやらを記入
このXにあたるサービスが欲しいsta.icon*3
あれは数値、タイムスタンプだけの格納だけど
まさにこれですねsta.icon
あとは以下があれば
1: 格納できるデータをjsのオブジェクト全般にする
2: nアプリ分の保存先をつくれる
Pixelaでいうと
"username":"stakiran"を
"username":"stakiran-todo"とか"username":"stakiran-diary"みたいに変えればいけるが
etcdをどっかにホストするのは普通のDBみたいで面倒か そうですね、自分でホストする手間は負いたくないですね
アカウントつくるくらいでもう保存先ができてほしい
todo.htmlを、たとえばITに詳しくない人にも使わせたい
ITに詳しくない人は、Xのアカウントつくって、ログインしてちょっとごにょごにょして、アプリキーとかコピってきて、todo.htmlに書き加える……くらいでもう使える
レコード数が10000 を超えないなら開発してもいいかな
ちょっとプロトタイプ作ってみよか
いえ、自分がプログラミングのモチベが今ほとんどないので、たぶんつくっていただいても(すぐには)使わない気がします
どちらかといえば、Xのような概念や既存例の有無を確かめたかった
欲しいと考えた動機
Webアプリのデータ保存部分を自製するのがしんどいので、楽したい
index.htmlにjs書く ← これくらいで済ませたい
データ保存のためにサーバーサイドつくるとか管理するみたいなことはしたくない
データ保存は
code:かなり雑な擬似コード.py
library.init(user='...', pass='...', appid='...')
library.set('key1', 'value1')
疑似コードに.pyとはbsahd.icon
これくらいで保存できるようにしたい
この保存先にあたるクラウドサービスが欲しい
どこかの会社がこういうサービスをつくるのか
GoogleDriveなどの既存サービスで使えるようにするのか
Pluginで保存先のクラウドサービスを指定できるようにするのが無難かなtakker.icon
code:js
const {set, get, remove} = await init(new GoogleDrivePlugin({
apiKey: "xxxxx",
clientId: "yyyyy",
}));
await set("key1", "value1");
Google DriveだとOAuth認証を通さないといけないから面倒か
独自の認証なしDB serverを使うときは、例えばこうする
code:js
const {set, get, remove} = await init(new MyServerPlugin());
await set("key1", "value1");
initの引数の型に合うようにPluginをつくる
ちょいとややこしくなってきたので絵解きしますかtakker.icon
お願いしたいですwsta.icon
ウッソだろペンタブドライバが認識してくれないtakker.icon
ちょっとお待ち下さい
もちろんのんびりで良いですよ。井戸端ですし
ペンタブ買おうかな……
マウスキツすぎる。。。
20:27:15 ドライバ入れ直したのにKakeruに書き込めない……ナンデ……? ドライバは認識できたみたいだが
入れ直す前はペンタブが接続されていないというダイアログが出たが、入れ直した後はちゃんとWacomの設定画面に移動する
20:50:14 だめだお手上げだ
あとペンのドラッグがスクロールとして認識されちゃうのナンデ?
2021-12-14 08:57:19 絵解きするの忘れてた()takker.icon
2024-05-27 16:58:59 絵解きするの忘れてた()takker.icon
yuki_minoh.icon
一般化しなくても用途ごとにAPI作ればそれでいい気がする
でも容量500kbしかだめだからちょっと微妙かな?
ありがとうございます。やりたいことはまさにそれですsta.icon
が、欲しいのは容量無制限&一般化してもっとかんたんに使える、ですかね
たとえばGAS全く知らない人でも使えるレベル
たとえばsta.iconがつくったtodo.htmlを、誰でも利用できるようにしたい
使いたい人は
1: ちょっと何か新規登録とかする(ウェブ画面だけでできる)だけで、もうtodo.html用の保存領域をつくれる
2: todo.htmlにはyour_storage_token=みたいな場所があるので、1のtokenを書く
すると、todo.htmlが使える& 1 の領域にデータが保存される
この 1 にあたるのがここで 3rd party storage と呼んでいるもの
ポイントは、todo.html開発者は「保存に関する部分」を一切請け負っていないということ
保存は 3rd party storage サービスが請け負っている
todo.html を使いたい人は、自分用の保存領域を 3rd party storage サービスでつくればよい
やっぱり既存では無さそうなので、自分でつくるしかなさそう
というかそういうのしたくないから、どっかにそういうのがあったら楽できるのになぁというのが元々のモチベーションでした
なるほどーyuki_minoh.icon
ちょっとAPIに心当たりがあります
でもユーザー認証が必要なので完全自動化は難しそう
…というか、一般の少データ保存サービスにJSONとかのデータを文字列化して保存するのはどうです
データが大規模でないなら、ユーザー登録だけでデータのRead Writeがすぐにできるサービスは見つけられる気がする
すぐには思い当たらないが
ありそうで無さそうなんですよね……sta.icon
普通はFirebase などでサービス展開側が容易にデータ基盤を構築できるケースな気がするので、小規模辞書データ保管サービスは商機がなくて存在しないかもしれない
あ、もしかしてブロックチェーンがハマってるかも
分散性を突き詰めたのがブロックチェーンですね
今回はそこまでの分散性は必要ないでしょうけど
inajob.icon
認証に無頓着で良いならなんでも使えそうだが、、htmlの中にパスワードを書くのはまずくないですか?
ローカルのhtml限定なら良いか
ローカルのhtml限定のつもりでしたsta.icon
FileAPIでローカルファイルに書き出すのはどうか?
インターネットにデータを置きたい?
hata6502.icon通知機能を自作したいときに便利かもしれない。 生成AIのおかげで少し理解しやすくなったかもsta.icon
利用者にOpenAI APIのKeyを入力させるタイプのサービスがある
ある?自分が見たのは以前blu3mo.iconさんが井戸端で紹介してたプロト(名前忘れた)だけど
これは「OpenAI APIの部分については、利用者のあなたが契約してる分で使いますよ」ということ
サービス側がOpenAI APIをラップするバックエンドの機能を持っててそれを使う、ではなくて
これと同じことをストレージでやりたい
利用者に3rd Party StorageのKeyを入力させる
これは「本サービスのデータ保存部分については、利用者のあなたが契約してる3rd party storageの分で使いますよ」ということ
サービス側がDBを持っててそれを使う、ではなくて
OAuthでログインするのはダメなんですか?bsahd.icon
ダメですねsta.icon
サービス提供者が自分でストレージ(DB)を持たなくて済むようにしたい
OAuthでGoogle Driveの権限を与えると近いことができそう?inajob.icon
できそうですsta.icon
そうか、認証はOAuthでも良さそう
Google Driveのデータベース版、みたいなものがあればいいのかsta.icon
リレーションでもドキュメントでも何でもいいが、データベースと呼ばれるくらいのそれなりに複雑なデータ構造
サービス側はスキーマを定義しておくだけ、実際の保存先はサービスを使う利用者が契約した「"google driveのデータベース版" 側のストレージ」
他にもあったかな……Excalidrawはどうだったかな
そうですsta.icon
が、ファイルを保存する的な操作で保存するよりもさらに踏み込みたい
たとえば僕がシンプルなTODO管理アプリをつくったとして、このアプリのデータが保存される先にしたい
普通はアプリ運営する僕がDBをつくるなり借りるなりする必要があるが、これはだるい、ここをなくしたい
3rd party storageなるものがあると「利用者側で3rd party storage契約してね」にできる
herokuにデプロイして使ってね、みたいなのに近そうinajob.icon
マネタイズはできないが、、
ローカルにDBファイル保存させて、ユーザー側のDropboxなりで同期させるのはbsahd.icon
ネイティブアプリしか使えない技だが、DocumentsにDBを置けばDropboxが同期してくれる
完全なwin32ではなく、electronでもよさそう
ダメそう。Webサービスからユーザー側のローカルにアクセスできないsta.icon
TODO管理アプリ、という言い方が悪かった。「僕がシンプルなTODO管理サービスをつくったとして」というべきだった
こんなんあるんだ、へーsta.icon*2
違う端末からは見えない問題inajob.icon
すでにある同期サービスを活用できないかと...bsahd.icon
ブラウザ→ファイルシステムAPI→ファイル→Dropbox?
現状でも利用者がクラウドストレージのAPI登録すれば実現できそうbsahd.iconinajob.icon
Google Cloudの登録が必要だが
可能そう、だけどちょっとハードル高そうかまだsta.icon
wedataを思い出したinajob.icon
3rd party strogeはwedataの非公開版?bsahd.icon
合ってるsta.icon
事例があるってことは発想自体は珍しくなさそうだぁsta.icon